//-----------------------------------------------------------------------------
// Name: GunManager.cpp
// Auth: Dante Ratto, Robert Darty, & Paul Godfrey
// Desc: Tracks which gun is active
//-----------------------------------------------------------------------------

#ifndef _GUNMANAGER_
#define _GUNMANAGER_

#include "SharedConstants.h"
#include "Gun.h"

#include <list>

using std::list;

//-----------------------------------------------------------------------------
// cGunManager:
//-----------------------------------------------------------------------------
class cGunManager
{
public:
	// Constructors:
	cGunManager();			
	~cGunManager();

	list<cGun> liGuns;
	list<cGun>::iterator itGun;	

	// cGunManager Methods:

	//-----------------------------------------------------------------------------
	void addGun(int, bool, enum eGunType);
	// Desc: Adds gun to manager
	
	//-----------------------------------------------------------------------------
	void SetPositions(float, float, float, float, float);
	// Desc: Sets positions of guns
	
	//-----------------------------------------------------------------------------
	void Draw();
	// Desc: Draws guns
	
	//-----------------------------------------------------------------------------
	void SetActive(enum eGunType);
	// Desc: Sets gun of type to active
	
	//-----------------------------------------------------------------------------
	eGunType GetActive();
	// Desc: Gets active gun type
	
	//-----------------------------------------------------------------------------
	int GetBullets();
	// Desc: Gets bullet count
	
	//-----------------------------------------------------------------------------
	int GetDamage();
	// Desc: Gets damage
	
private:
	// Members:
	float mXPosition;
	float mYPosition;
	float mZPosition;
	float mYaw;
	float mPitch;
};

//-----------------------------------------------------------------------------
// Functions:
//-----------------------------------------------------------------------------
cGunManager* GetGunManager();

#endif